-
Notifications
You must be signed in to change notification settings - Fork 3.3k
fix(client-exec): send correct client workflow state override #3143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile OverviewGreptile SummaryFixed workflow execution validation by ensuring the client-side workflow state is always sent to the server as Key Changes:
Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Client as useWorkflowExecution
participant Stream as executionStream
participant API as /api/workflows/execute
participant Core as execution-core.ts
participant DB as Database
Note over Client: User triggers execution
Client->>Client: Read latest workflow state from store
Client->>Client: Build clientWorkflowState object
Note over Client: BEFORE: conditionally sent override<br/>AFTER: always sent override
Client->>Stream: execute({ workflowStateOverride })
Note over Stream: workflowStateOverride always defined now
Stream->>API: POST with workflowStateOverride
API->>Core: executeWorkflowCore(snapshot)
Note over Core: snapshot.metadata.workflowStateOverride
alt workflowStateOverride present
Core->>Core: Use client-side state (blocks, edges, loops, parallels)
Note over Core: Validates against current client state<br/>DB may be 1-2 seconds behind
else no override (old behavior)
Core->>DB: Load draft state from DB
Note over Core: Validates against DB state<br/>May be stale for 1-2 seconds
end
Core->>Core: Run validations on workflow state
Core-->>API: Execution result
API-->>Stream: SSE events stream
Stream-->>Client: Callbacks invoked
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 file reviewed, no comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
Summary
Need to send client side state as workflow state override correctly since db is out of sync for 1-2 seconds so validations must run on the former.
Type of Change
Testing
Tested manually
Checklist